/******************************************************************************
 * 
 * Announce: CSharp Kit, used to achieve data visualization.
 *           Copyright (C) ShenYongchen.
 *           All rights reserved.
 *   Author: 申永辰.郑州 (shenyczz@163.com)
 *  WebSite: http://github.com/shenyczz/CSharpKit
 *
 * THIS CODE IS LICENSED UNDER THE MIT LICENSE (MIT).
 * THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF 
 * ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
 * IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
 * PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
 * 
******************************************************************************/

namespace CSharpKit.Native.NetCDF
{
    /// <summary>
    /// Default fill value. This is used unless _FillValue attribute
    /// is set.  These values are stuffed into newly allocated space as
    /// appropriate.  The hope is that one might use these to notice that a
    /// particular datum has not been set.
    /// </summary>
    public static class NcFillValue
    {
        public const sbyte NC_FILL_BYTE = -127;
        public const byte NC_FILL_CHAR = 0;
        public const short NC_FILL_SHORT = ((short)-32767);
        public const int NC_FILL_INT = (-2147483647);
        public const float NC_FILL_FLOAT  = (9.9692099683868690e+36f); // near 15 * 2^119
        public const double NC_FILL_DOUBLE = (9.9692099683868690e+36);
        public const byte NC_FILL_UBYTE  = (255);
        public const ushort NC_FILL_USHORT = (65535);

        public const uint  NC_FILL_UINT   = (4294967295U);
        public const long NC_FILL_INT64  = (-9223372036854775806L);
        public const ulong NC_FILL_UINT64 = ((ulong)18446744073709551614UL);
        public const string NC_FILL_STRING = ("");
    }


}
